package com.gitee.yusugar.common;

import cn.hutool.core.util.StrUtil;

import java.util.Collection;

public class YuToolServiceException extends RuntimeException {

    public YuToolServiceException( String msg ) {
        super( msg );
    }

    /**
     * 如果flag == true，则抛出 message 异常
     *
     * @param flag    标记
     * @param message 异常信息
     */
    public static void throwBy( boolean flag, String message ) {
        if ( flag )
            throw new YuToolServiceException( message );
    }

    /**
     * 如果value==null或者isEmpty，则抛出message异常
     *
     * @param value   值
     * @param message 异常信息
     */
    public static void throwByNull( Object value, String message ) {
        if ( value == null )
            throw new YuToolServiceException( message );
        else {
            if ( value instanceof String && StrUtil.isBlank( String.valueOf( value ).trim() ) )
                throw new YuToolServiceException( message );
            if ( value instanceof Collection && ( (Collection) value ).isEmpty() )
                throw new YuToolServiceException( message );
        }
    }
}
